﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using vudu.Presentacion.Presentador.VU_07_Gestionar_Esquema_de_Evaluacion_por_Profesor;
using vudu.Presentacion.Contrato.VU_07_Gestionar_Esquema_de_Evaluacion_por_Profesor;
using vudu.ClasesDominio;
using vudu.Logica.Fachada;

namespace vudu.Presentacion.Vista.VU_07_Gestionar_Esquema_de_Evaluacion_por_Profesor
{
    public partial class ModificarEsquemaEvaluacion : System.Web.UI.Page, IContratoModificarEsquemaEvaluacion
    {
        private PresentadorModificarEsquemaEvaluacion _presentador;

        protected void Page_Load(object sender, EventArgs e)
        {
            string miRol = (string)Session["TipoRol"];
            if (miRol != "Profesor")
                Response.Redirect("../VU_15 Gestion de Acceso/InicioSistema.aspx");
            EnlaceLogico fachada = (EnlaceLogico)Session["Fachada"];
            Profesor prof = (Profesor)fachada.RolActual;

            _presentador = new PresentadorModificarEsquemaEvaluacion(this, fachada);

            if (!Page.IsPostBack)
            {
                                               
                _presentador.IniciarPantalla();
                _presentador.LlenarListaMateriasProfesor(prof);
                
            }
        }

        #region Implementacion del contrato

        public GridView Esquemas
        {
            get { return EsquemaEvaluacion; }
        }

        public Label lMaterias
        {
            get { return LabelMaterias; }
        }

        public Label Asterisco
        {
            get { return Label8; }
        }

        public Label Materia
        {
            get { return Label9; }
        }

        public DropDownList dMaterias
        {
            get { return Materias; }
        }

        public Panel Primero
        {
            get { return PanelPrimerPaso; }
        }

        public Label Informacion
        {
            get { return InFormacionProfesor; }
        }

        public Panel Segundo
        {
            get { return PanelSegundoPaso; }
        }

        public Panel Tercero
        {
            get { return PanelTercerPaso; }
        }

        public TextBox Nombre
        {
            get { return NombreEvaluacion; }
        }

        public TextBox Porcentaje
        {
            get { return PorcentajeEvaluacion; }
        }

        public TextBox Fecha
        {
            get { return FechaEvaluacion; }
        }

        public DropDownList Tipo
        {
            get { return TipoEvaluacion; }
        }

        public Label NombreEval
        {
            get { return LabelNombre; }
        }

        public Label PorcentajeEval
        {
            get { return LabelPorcentaje; }
        }

        public Label TipoEval
        {
            get { return LabelTipo; }
        }

        public Label FechaEval
        {
            get { return LabelFecha; }
        }

        public Label Obligatorio1
        {
            get { return Label1; } 
        }

        public Label Obligatorio2
        {
            get { return Label2; } 
        }
        public Label Obligatorio3
        {
            get { return Label3; } 
        }

        public Label Obligatorio4
        {
            get { return Label4; } 
        }

        public Label MensajeA
        {
            get { return MensajeDeTransaccion; }
        }

        public Label MensajeB
        {
            get { return Label5; }
        }

        public Label MensajeC
        {
            get { return Label6; }
        }

        #endregion Implementacion del contrato

        protected void Materias_SelectedIndexChanged(object sender, EventArgs e)
        {
            if (Materias.SelectedValue.ToString() != "0")
            {
                _presentador.IniciarPantallaSecundaria();
                SeccionMateria miSeccion = new SeccionMateria();
                miSeccion.IdSeccionMateria = Convert.ToInt32(Materias.SelectedValue.ToString());
                Session["Seccion"] = miSeccion;

                _presentador.LlenarTablaEsquema(miSeccion);

            }
            else
            {
                _presentador.IniciarPantalla();
            }
        }

        protected void EsquemaEvaluacion_SelectedIndexChanged(object sender, EventArgs e)
        {
            _presentador.LlenarFormulario((SeccionMateria)Session["Seccion"]);
        }

        protected void EsquemaEvaluacion_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            EsquemaEvaluacion.PageIndex = e.NewPageIndex;
            _presentador.LlenarTablaEsquema((SeccionMateria)Session["Seccion"]);
        }

        protected void CancelarEvaluacion(object sender, EventArgs e)
        {
            _presentador.CerrarFormulario();
            _presentador.LlenarTablaEsquema((SeccionMateria)Session["Seccion"]);


        }

        protected void ModificarEvaluacion(object sender, EventArgs e)
        {
            _presentador.ModificarEvaluacion((SeccionMateria)Session["Seccion"]);

        }
    }
}